home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AOL File Library: 2,801 to 2,900
/
aol-file-protocol-4400-2801-to-2900.zip
/
AOLDLs
/
C++ Files Library
/
Direct Blitting in C++
/
Blitting.sit
/
Blitting ƒ
/
CDirectBlit.cp
< prev
next >
Wrap
Text File
|
1995-04-27
|
2KB
|
80 lines
// CDirectBlit.cp, the CDirectBlit class methods
//
// Copyright ⌐ 1995, Macneil Shonle. All rights reserved.
#ifndef __CDIRECTBLIT__
#include <CDirectBlit.h>
#endif
#ifndef __PIXELTYPES__
#include <PixelTypes.h>
#endif
PixelPtr CDirectBlit::GetBaseAddress()
{ return mBaseAddress;
}
RowWidth CDirectBlit::GetRowBytes()
{ return mRowBytes;
}
RowWidth CDirectBlit::GetWidth()
{ return RowWidth(mBounds.right - mBounds.left);
}
ColumnHeight CDirectBlit::GetHeight()
{ return ColumnHeight(mBounds.bottom - mBounds.top);
}
Rect* CDirectBlit::GetBounds()
{ return &mBounds;
}
Rect* CDirectBlit::GetPortRect()
{ return &mPort->portRect;
}
CGrafPtr CDirectBlit::GetMacPort()
{ return mPort;
}
GDHandle CDirectBlit::GetMacDevice()
{ return mGDevice;
}
BitMap* CDirectBlit::GetBitMap()
{ return &(GrafPtr(mPort)->portBits);
}
BitDepth CDirectBlit::GetBitDepth()
{ return mBitDepth;
}
int CDirectBlit::Use32Bit()
{ return mAddressingMode;
}
PixelPtr CDirectBlit::GetAddressOfRow( PixelCoordinate theRow )
{ return mRowAddresses[theRow];
}
PixelPtr CDirectBlit::GetAddressOfPixel( PixelCoordinate h, PixelCoordinate v )
{ return PixelPtr(mRowAddresses[v] + h);
}
void CDirectBlit::BuildQuickRow()
{ ColumnHeight height = mBounds.bottom - mBounds.top;
mRowAddresses = new PixelPtr[height];
if( mRowAddresses == 0 )
::DebugStr( "\pPrimitive Error Checking" );
for( ColumnHeight i=0; i<height; i++ )
mRowAddresses[i] = mBaseAddress + (mRowBytes * i);
}
void CDirectBlit::DestroyQuickRow()
{ delete [] mRowAddresses;
}